import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
import { BaseEntitySimple } from '../../../common/entities/BaseEntity';

/**
 * 通知表
 */
@Entity({
  name: 'notice',
})
export class NoticeEntity extends BaseEntitySimple {
  @PrimaryGeneratedColumn('uuid')
  id?: string;

  /**
   * 通知类型编码(业务系统自定义)
   */
  @Column('tinyint', { width: 2 })
  type?: number;

  /**
   * 通知标题
   */
  @Column()
  title?: string;

  /**
   * 通知内容
   */
  @Column({ nullable: true, length: 1000 })
  content?: string;

  /**
   * 发送者
   */
  @Column()
  sender?: number;

  /**
   * 发送者角色
   */
  @Column({ default: 'admin' })
  sender_role?: string;

  /**
   * 接受者
   * 0 所有用户
   * 接受者的ID
   */
  @Column()
  receiver?: number;

  /**
   * 是否已读 0 | 1
   */
  @Column({ default: 0 })
  is_read?: number;

  /**
   * 挂载数据
   */
  @Column('json', { nullable: true })
  extra?: string;
}
